package com.longrise.co.ui.carlife.contract;

import com.longrise.LEAP.Base.Objects.EntityBean;
import com.longrise.co.ui.carlife.model.IllegalInquiriesBean;
import com.longrise.co.ui.carlife.model.NewsBean;
import com.longrise.co.ui.carlife.model.YearCheckBean;
import com.ly.common.base.BaseModel;
import com.ly.common.base.BasePresenter;
import com.ly.common.base.BaseView;

import rx.Observable;

/**
 * Created by luoyang on 2017-6-22.
 */

public interface CarLifeContract {

     interface View<T> extends BaseView {
        void requestSuccess(T t);
         void onComplete();
    }

    interface CarLifeView<T> extends View<T> {
        void getKcKpUrlSuccess(String url);
    }



     interface Model extends BaseModel {

         //维修记录详情
         Observable<NewsBean> carLifeNewsRequest(EntityBean bean);

         Observable<IllegalInquiriesBean> illegalInquiriesRequest(EntityBean bean);

         Observable<YearCheckBean> yearCheckRequest(EntityBean bean);

         Observable<String> kckpUrlRequest(EntityBean bean);

         Observable<String> kckpUploadPhotoRequest(EntityBean bean);

    }

     abstract class Presenter extends BasePresenter<View , Model> {

         public abstract void getLifeNewsList(int pageNum,int pageSize, boolean isShowProcess);

         public abstract void getIllegalInquiries(String carNo, String vin, String engineNumber);

         public abstract void getYearCheckRequest(String carNo, String time, String carTypeCode);

         public abstract void getKckpUrl();

         public abstract void kckpUploadPhoto(String imageData, String type);

    }
}
